#include <iostream>
#include <memory>

using namespace std;

class Student {
   public:
    Student() { cout << "Construct student" << endl; }
    ~Student() { cout << "Destruct student" << endl; }

    bool Register() { return true; }
    bool Enroll() { return true; }
};

int main() {
    std::unique_ptr<Student> p(new Student());
    std::unique_ptr<Student> p2(std::move(p));

    if (p.get() == nullptr) {
        std::cout << "p is empty (nullptr)." << std::endl;
    } else {
        std::cout << "p is not empty." << std::endl;
    }

    return 0;
}